◈ PROJECT REPORT · 2026.04.01 · W6

第六周人流辨識雙視頻系統 AI CROWD FLOW MONITORING SYSTEM

姓  名
阮文孟
學  號
1111310035
日  期
2026 / 04 / 01
系統運行中
YOLOv8 已載入
Python 3.14.3
4 路串流監控
🖥 OS: Windows 11 | 🐍 Python: 3.14.3 | 🤖 Model: YOLOv8n | 👁 IDE: VS Code | 📦 Libs: OpenCV · Ultralytics · Matplotlib · NumPy
⬡ 即時監控儀表板 — LIVE DASHBOARD
● REC
Video A 11
趨勢: 大致穩定
ID:7
ID:14
ID:22
ID:31
ID:45
ID:58
ID:74
ID:89
FPS: 5.4
SRC: videos/video1.mp4
Video B 10
趨勢: 大致穩定
ID:4
ID:8
ID:12
ID:21
ID:34
FPS: 5.3
SRC: videos/video2.mp4
Video C 7
趨勢: 大致穩定
ID:52
ID:67
ID:81
ID:95
FPS: 5.3
SRC: videos/video3.mp4
Webcam 1
趨勢: 大致穩定
ID:25
FPS: 5.4
SRC: 攝影機 0
VIDEO A
11
短期: 10.4 | 長期: 10.5
累積ID: 576 | 峰值: 17
⬤ 連線正常
VIDEO B
10
短期: 11.9 | 長期: 11.1
累積ID: 404 | 峰值: 21
⬤ 連線正常
VIDEO C
7
短期: 6.2 | 長期: 6.4
累積ID: 349 | 峰值: 15
⬤ 連線正常
WEBCAM
1
短期: 1.0 | 長期: 1.0
累積ID: 48 | 峰值: 3
⬤ 連線正常
雙視訊人流趨勢折線圖 — 比較兩個群眾來源的人數變化與移動平均
Video A: 11
Video B: 10
Video C: 7
Webcam: 1
⬡ 系統架構 — SYSTEM ARCHITECTURE
01
📁
目錄結構
config/ 系統配置文件
docs/ 說明文件與報告
videos/ 輸入視頻來源
app.py 主執行程序
tracker.py 物件追蹤邏輯
yolov8n.pt 預訓練模型
02
🤖
AI 核心引擎
採用 YOLOv8n 輕量型模型進行即時人員檢測,配合自訂 Tracker 實現跨幀追蹤 (ID 持久化)。

支援多路並行處理,每路維持 ~5.3 FPS,兼顧效能與準確率。
03
📊
數據可視化
使用 Matplotlib 繪製即時折線圖,追蹤每路視頻的人數變化趨勢。

短期平均 / 長期平均雙指標判斷「上升 / 下降 / 穩定」趨勢,輸出中文標籤於介面。
⬡ 實作示範影片 — DEMO VIDEO
⬡ 開發歷程 — DEVELOPMENT TIMELINE
PHASE 01 · 環境建置
安裝與依賴庫配置
系統初始化時缺少關鍵模組,出現 ModuleNotFoundError: No module named 'cv2'
執行統一安裝指令解決所有依賴:
pip install opencv-python ultralytics matplotlib numpy
PHASE 02 · 雙視頻系統
Dual Crowd Trend Analyzer
初版系統支援 2 路視頻 + 1 路攝影機並行處理,介面顯示每路的目前人數、短期/長期平均、FPS、峰值及累積 ID,並附趨勢折線圖。
PHASE 03 · 四路擴展
Quad Crowd Trend Analyzer — 2x2 Grid
將系統擴充至 4 路 (Video A/B/C + Webcam),採用 NumPy hstack/vstack 合成 2×2 畫面網格。配置文件 crowd_config.json 支援動態加載來源。
PHASE 04 · 穩定運行
最終成果驗證
系統於越南國慶閱兵視頻、慶典人群場景中穩定運行,YOLOv8 成功區分密集人群中的個別目標,多色 Bounding Box 清晰標示不同來源,所有趨勢指標正常輸出。
⬡ 最終成果 — FINAL RESULTS
🎯

精準人員辨識

YOLOv8 於閱兵視頻及密集人群中有效辨識個別目標,Bounding Box 穩定追蹤,ID 持久化維持跨幀一致性。

📈

即時趨勢折線圖

Matplotlib 繪製 4 路並行折線圖,清晰呈現各視頻來源人流密度差異,短期/長期平均雙指標動態更新。

多路並行效能

4 路同步處理各維持 ~5.3 FPS,系統資源佔用合理,支援本地 MP4 文件與 USB 攝影機混合輸入。

🖥

完整 Dashboard 介面

2×2 視頻網格 + 統計面板 + 趨勢圖一體化呈現,中文標籤、鍵盤快捷鍵 (Q 退出) 及 Webcam Utility 整合支援。

⬡ 技術棧 — TECH STACK
Python 3.14.3
YOLOv8n
Ultralytics 8.4.33
OpenCV 4.13.0
NumPy 2.4.4
Matplotlib 3.10.8
VS Code
Windows 11
JSON Config
Multi-Thread
⬡ 課程心得感言 — REFLECTION

人流辨識系統的實作與啟發

在本週的課程中,我們深入探討了 AI 視覺辨識在現實場景中的應用,特別是針對「多路人流監控系統」的開發實作。作為一名資訊工程系的國際學生,這不僅是一次技術上的挑戰,更是一場關於數據、演算法與使用者介面設計的深刻思考。

實驗過程中,最令我印象深刻的是如何優化 YOLOv8 模型以達到多路並行處理的效能平衡。雖然在初期遇到過環境配置與模組缺失(如 OpenCV 報錯)等問題,但在老師的指導下,我學會了如何透過 Python 環境管理來解決依賴衝突。看著四路影像(Video A/B/C 與 Webcam)能夠穩定地以 ~5.3 FPS 運行,並透過 Bounding Box 精準鎖定目標,那種將程式碼轉化為即時視覺反饋的成就感是非常巨大的。

此外,我也特別關注了數據可視化的部分。利用 Matplotlib 繪製即時折線圖,並加入短期與長期移動平均指標,能讓我們更客觀地判斷人群流動的趨勢。這讓我體會到,人工智慧不應僅僅是冰冷的偵測器,它更應該透過數據分析,為安全監控或資源調度提供具體的決策支持。

這次的實作經驗與我目前正在開發的「文件自動翻譯系統」Side Project 有著異曲同工之妙,皆是利用 AI 技術解決實際生活中的痛點。未來,我希望能繼續深化在電腦視覺領域的鑽研,提升系統的準確度與穩定性,並將所學應用於更廣泛的智慧化場景中。這堂課無疑為我的學術生涯與技術專案奠定了堅實的基礎。